package com.sgzn.sgpay.service;

import com.sgzn.sgpay.model.request.SgsMchQueryListRequest;
import com.sgzn.sgpay.model.request.SgsMerchantQueryBalanceRequest;
import com.sgzn.sgpay.model.request.SgsMerchantQueryBaseRequest;
import com.sgzn.sgpay.model.request.SgsSubMchQueryRequest;
import com.sgzn.sgpay.model.response.SgsResultResponse;
import com.sgzn.sgpay.model.response.result.MchQueryBalanceResult;
import com.sgzn.sgpay.model.response.result.MerchantInfo;
import com.sgzn.sgpay.model.response.result.SubMchQueryResult;
import com.sgzn.sgpay.persistence.domain.TMerchant;

import java.util.List;

/**
 * 商户查询服务
 * @author zhongzhongyong
 * @version Id: SgsMerchantManageService.java, v 0.1 2018/4/17 21:50 zhongzhongyong Exp $$
 */
public interface SgsMerchantQueryService {

    /**
     * 查询单个商户基本信息以及账户信息
     * @param request
     * @return
     */
    SgsResultResponse<MerchantInfo> queryMerchantInfo(SgsMerchantQueryBaseRequest request);


    /**
     * 查询单个商户基本信息以及账户信息
     * @param request
     * @return
     */
    SgsResultResponse<MchQueryBalanceResult> queryMerchantBalanceInfo(SgsMerchantQueryBalanceRequest request);



    /**
     * 查询商户基础信息列表
     * @param request
     * @return
     */
    SgsResultResponse<List<TMerchant>> queryMchBaseList(SgsMchQueryListRequest request);

    /**
     * 查询单个子商户信息（包含功能权限和门店权限信息）
     * @param request
     * @return
     */
    SgsResultResponse<SubMchQueryResult> querySubMchInfo(SgsSubMchQueryRequest request);

}
